package com.data.dao;

import java.util.List;

import com.base.dao.TemplateDao;
import com.data.entity.StateMonth;

public interface StateMonthDao extends TemplateDao<StateMonth, Integer>{
/**
 * 根据设备id，设备状态，所属日期查询设备状态月记录
 * @param equId
 * @param stateType
 * @param belongDate
 * @return
 */
	StateMonth getStateMonthByDate(int equId,String stateType,String belongDate);
	
	/**
	 * 获取时间区间内的所有工作时长
	 * */
	Double getTotalWorkTime (int equId,String startDate,String endDate,String stateType);
	
	/**
	 * 获取相同月份的记录
	 * @param equId
	 * @param belongMonth：06
	 * @param stateType
	 * @return
	 */
	List<StateMonth> getBySameMonth(int equId,String belongMonth,String stateType);
	
	//获取时间区间内，不同的type
	List<StateMonth> getDistinctType(int equId,String startDate,String endDate);
	
	//时间区间内相同状态的累加值
	StateMonth getDurationByTypeAndDate(int equId,String startDate,String endDate,String stateType);
	
	//在type相同情况下，获取时间区间内的所有记录
	List<StateMonth> getStateMonthByStateAndDates(int equId,String startDate,String endDate,String stateType);
}
